import pandas as pd
from sklearn.linear_model import LinearRegression

def independence_weight(df: pd.DataFrame, columns: list) -> pd.Series:
    scores = {}
    for col in columns:
        X = df[[c for c in columns if c != col]]
        y = df[col]
        model = LinearRegression().fit(X, y)
        r_squared = model.score(X, y)
        scores[col] = 1 - r_squared
    total = sum(scores.values())
    weights = {k: v / total for k, v in scores.items()}
    return pd.Series(weights, name="Independence_Weight")